package com.itcam.reflect_.msb02;

/**
 * Author:Cammy.Wu
 * Date:2024-05-17
 * Description:
 */
/**
 *
 */
public class Test {
    public static void main(String[] args) throws ClassNotFoundException {
        // 案例：以Person的字节码信息为案例
        // 方式一：通过getClass()方法获取
        Person p = new Person();
        Class c1 = p.getClass();
        System.out.println(c1);

        // 方式二：通过内置class属性
        Class c2 = Person.class;

        System.out.println(c1 == c2);

        // 方式一和方式二不常用

        // 方式三 --> 用的最多：调用Class类提供的静态方法forName
        Class c3 = Class.forName("com.itcam.phaseiii.reflect_.msb02.Person");

        // 方式四：利用类的加载器
        ClassLoader loader = Test.class.getClassLoader();
        Class c4 = loader.loadClass("com.itcam.phaseiii.reflect_.msb02.Person");
    }
}
